layui.use(['form', 'table', 'laydate'], function () {
    var form = layui.form,
        layer = layui.layer,
        table = layui.table,
        $ = layui.$,
        laydate = layui.laydate;

    /**
     * 初始化表单，要加上，不然刷新部分组件可能会不加载
     */
    form.render();

    // 当前弹出层，防止ID被覆盖
    var parentIndex = layer.index;

    //编辑器
    var E = window.wangEditor;
    var editor = new E('#editorContent');

    //初始化
    $(function(){

        //初始化编辑器
        initEditor();

        var id = $("#id").val();
        if(id != '' && id != null && id != undefined){
            var index = layer.load(2);
            var url = "/web/boBookList/getInfoById";
            $.get(url, {id: id}, function(data){
                layer.close(index);
                if(data.state == "200"){
                    $("#bookDirectoryName").val(data.directoryName);
                    $("#bookDirectoryId").val(data.directoryId);
                    $('#listName').val(data.listName);
                    $("#remark").val(data.remark);
                    editor.txt.html(data.content);
                }
                form.render();
            })
        }
    });

    //监听提交
    form.on('submit(saveBtn)', function (data) {

        //设置编辑器内容
        data.field.content = editor.txt.html();

        var index = layer.load(2);
        var url = "/web/boBookList/save";
        $.post(url, data.field, function(res){
            if(res.state == "200"){
                layer.msg(res.message, {icon:1});
            }else{
                layer.msg(res.message, {icon:2});
            }
            // 关闭弹出层
            layer.close(index);
            layer.close(parentIndex);
        }, 'json');

        return false;
    });

    //点击选择书目录按钮
    $("#BookDirectoryBtn").on("click", function(){
        var bookDirectoryId = $("#bookDirectoryId").val();
        var bookDirectoryName = $("#bookDirectoryName").val();
        var content = layuimini.getHrefContent('/web/boBookList/chooseBookDirectory?bookDirectoryId=' + bookDirectoryId + "&bookDirectoryName=" + bookDirectoryName);
        var index = layer.open({
            title: '选择目录',
            type: 1,
            shade: 0.2,
            maxmin:true,
            shadeClose: false,
            area: ['80%','80%'], //宽高
            content: content
        });
        // $(window).on("resize", function () {
        //     layer.full(index);
        // });

        return true;
    });

    $("#closeBtn").on("click", function(){
        // 关闭弹出层
        layer.close(parentIndex);
    });

    //编辑器
    function initEditor() {
        editor.customConfig.uploadImgServer = ""; //图片上传地址
        editor.customConfig.uploadFileName = 'image';
        editor.customConfig.pasteFilterStyle = false; //关闭粘贴样式的过滤
        editor.customConfig.pasteIgnoreImg = true; //忽略粘贴内容中的图片
        editor.customConfig.uploadImgMaxLength = 0; //一次最多上传图片数量
        editor.customConfig.uploadImgMaxSize = 10 * 1024 * 1024; // 将图片大小限制为 10M
        editor.customConfig.menus = [
            'head', // 标题
            'bold',  // 粗体
            'fontSize', // 字号
            'fontName', // 字体
            'italic', // 斜体
            'underline', // 下划线
            'strikeThrough', // 删除线
            'foreColor', // 文字颜色
            'backColor', // 背景颜色
            'link', // 插入链接
            'list', // 列表
            'justify', // 对齐方式
            'quote', // 引用
            'emoticon', // 表情
            'table', // 表格
            'video', // 插入视频
            'code', // 插入代码
            'undo', // 撤销
            'redo' // 重复
        ];
        editor.customConfig.uploadImgHooks = {
            // 上传超时
            timeout: function (xhr, editor) {
                layer.msg('上传超时！')
            },
            // 如果服务器端返回的不是 {errno:0, data: [...]} 这种格式，可使用该配置
            customInsert: function (insertImg, result, editor) {
                if (result.state == "200") {
                    var url = result.url;
                    url.forEach(function (e) { //遍历显示预览图
                        insertImg(e);
                    });
                } else {
                    layer.msg(result.message);
                }
            }
        };
        editor.customConfig.customAlert = function (info) {
            layer.msg(info);
        };
        editor.create();
    }

});